7单选以下是在Linux系统中启动并加载可执行目标文件过程中shell命令行解释程序所做的部分操作:①构造构造argv和envp②调用fork()系统调用函数③调用execve()系统调用函数④读入命令(可执行文件名)及参数启动并加载可执行目标文件的正确步骤是()。
A.④→①→③→②
B.①→②→③→④
C.④→①→②→③
D.②→④→①→③
8单选以下是有关动态链接及其所链接的共享库以及动态链接生成的可执行目标文件的叙述,其中错误的是()。
A.生成的可执行目标文件是部分链接的,也即,其中还有部分引用没有进行重定位
B.共享库在Linux下称为动态共享对象(.so),在Windows下称为动态链接库(.dll)
C.可执行目标文件由动态链接器对可重定位目标文件和共享库中部分信息进行链接而成
D.可执行目标文件在加载或执行时,系统将会调出动态链接器利用共享库对其进行动态链接
9单选以下是有关静态链接和动态链接比较的叙述,其中错误的是()。
A.静态库函数代码包含在进程代码段中,而共享库函数代码不包含在进程代码段中
B.静态库函数代码包含在可执行目标文件中,而共享库函数代码不包含在可执行目标文件中
C.静态链接情况下静态库函数在加载时被链接,动态链接情况下共享库函数可在加载或运行时被链接
D.静态库函数更新后需对程序重新编译和链接,而共享库函数更新后程序无需重新编译和链接
10单选一个共享库文件(.so文件)由多个模块(.o文件)生成。在生成共享库文件的过程中,需要对.o文件进行处理,以生成位置无关代码。以下有关位置无关代码(PIC)生成的叙述中,错误的是()。
A.模块外数据的引用需要动态链接器进行重定位,重定位时在GOT中填入外部数据的地址
B.模块内函数之间的调用可用PC相对地址实现,无需动态链接器进行重定位
C.模块间函数调用需要动态链接器进行重定位,重定位时在GOT和PLT中填入相应内容
D.模块内数据的引用无需动态链接器进行重定位,因为引用与定义间相对位置固定
1单选以下有关指令集体系结构的叙述中,错误的是()。
A.指令集体系结构是对软件的一种抽象
B.指令集体系结构是一种规定
C.指令集体系结构位于软件和硬件的交界面
D.指令集体系结构在计算机系统层次中必不可少
计算机系统基础(一):程序的表示、转换与链接
南京大学
军职在线答案
大学网课